package cn.edu.ctbu.firstdata.repository;

import cn.edu.ctbu.firstdata.domain.Student;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import sun.security.mscapi.CPublicKey;

import java.util.List;
import java.util.Optional;

public interface StudentRepository extends JpaRepository<Student,Integer> {
    public List<Student> findByName(String name);
    public List<Student> findByNameLike(String name);

    /**
     * 返回小于指定成绩的学生
     * @param score
     * @return
     */
    @Query("select o from tb_student o where o.score<?1")
    public List<Student> getByStudentsScoreLess(Integer score);

    /**
     * 支持分页的找出所有学生
     * @param pageable
     * @return
     */
    public Page<Student> findAll(Pageable pageable);

    /**
     * 按性别查询，并分页
     * @param sex
     * @param pageable
     * @return
     */
    public Page<Student> findBySex(Integer sex,Pageable pageable);

    /**
     * 找出所有的符号指定姓名和密码的用户
     * @param name 姓名
     * @param password 密码
     * @return
     */
    public List<Student> findByNameAndPassword(String name,String password);
}
